package com.yanqu.road.entity.activity.washe.data;

import com.yanqu.road.entity.player.UserBaseInfo;

import java.util.ArrayList;
import java.util.List;

/**
 * 匹配数据
 */
public class WasheUserMatchData {

    // 玩家信息，必填
    private int channelId;
    private long serverId;
    private long userId;
    private UserBaseInfo baseInfo = new UserBaseInfo();
    private long score;
    private int cardId;
    private List<Integer> skills = new ArrayList<>();
    private String key = "";
    private boolean ai = false;                         // 是否人机
    private String serverName = "";                     // 区服名称
    private boolean newHand = false;                    // 是否新手阶段
    private long playTimes;                             // 总对局次数

    // 中途加的数据
    private long roomId = 0;                            // 房间号，0表示不在房间
    private long beginMatchTime = 0;                    // 开始匹配时间
    private boolean seeBegin = false;                   // 是否开过开场
    private long aiOperateTime = 0;                     // 距离expire多少秒内AI可以操作
    private long matchCostTime = 0;                     // 匹配耗时

    // 掉线相关
    private long disconnectTime = 0;                    // 掉线时间，0此时未掉线
    private int disconnTimes = 0;                       // 掉线次数

    private int modeId;                                 // 匹配模式

    private boolean friendGuide;

    //皮肤相关的
    private int boardSkinId;                            //棋盘皮肤
    private int animationId;                            //动画皮肤
    private int effectId;                               //特效皮肤

    //地区赛地区
    private int zoneId;
    //地区赛连胜次数
    private int winTimes;
    //地区赛最高连胜次数
    private int winTimesMax;

    // ================================================================

    public int getChannelId() {
        return channelId;
    }

    public void setChannelId(int channelId) {
        this.channelId = channelId;
    }

    public long getServerId() {
        return serverId;
    }

    public void setServerId(long serverId) {
        this.serverId = serverId;
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public UserBaseInfo getBaseInfo() {
        return baseInfo;
    }

    public void setBaseInfo(UserBaseInfo baseInfo) {
        this.baseInfo = baseInfo;
    }

    public long getScore() {
        return score;
    }

    public void setScore(long score) {
        this.score = score;
    }

    public int getCardId() {
        return cardId;
    }

    public void setCardId(int cardId) {
        this.cardId = cardId;
    }

    public List<Integer> getSkills() {
        return skills;
    }

    public void setSkills(List<Integer> skills) {
        this.skills = skills;
    }

    public long getRoomId() {
        return roomId;
    }

    public void setRoomId(long roomId) {
        this.roomId = roomId;
    }

    public long getBeginMatchTime() {
        return beginMatchTime;
    }

    public void setBeginMatchTime(long beginMatchTime) {
        this.beginMatchTime = beginMatchTime;
    }

    public boolean isAi() {
        return ai;
    }

    public void setAi(boolean ai) {
        this.ai = ai;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public String getKey() {
        return key;
    }

    public long getDisconnectTime() {
        return disconnectTime;
    }

    public void setDisconnectTime(long disconnectTime) {
        this.disconnectTime = disconnectTime;
    }

    public boolean isSeeBegin() {
        return seeBegin;
    }

    public void setSeeBegin(boolean seeBegin) {
        this.seeBegin = seeBegin;
    }

    public String getServerName() {
        return serverName;
    }

    public void setServerName(String serverName) {
        this.serverName = serverName;
    }

    public long getAiOperateTime() {
        return aiOperateTime;
    }

    public void setAiOperateTime(long aiOperateTime) {
        this.aiOperateTime = aiOperateTime;
    }

    public boolean isNewHand() {
        return newHand;
    }

    public long getPlayTimes() {
        return playTimes;
    }

    public void setPlayTimes(long playTimes) {
        this.playTimes = playTimes;
    }

    public void setNewHand(boolean newHand) {
        this.newHand = newHand;
    }

    public long getMatchCostTime() {
        return matchCostTime;
    }

    public void setMatchCostTime(long matchCostTime) {
        this.matchCostTime = matchCostTime;
    }

    public int getDisconnTimes() {
        return disconnTimes;
    }

    public void setDisconnTimes(int disconnTimes) {
        this.disconnTimes = disconnTimes;
    }

    public int getModeId() {
        return modeId;
    }

    public void setModeId(int modeId) {
        this.modeId = modeId;
    }

    public boolean isFriendGuide() {
        return friendGuide;
    }

    public void setFriendGuide(boolean friendGuide) {
        this.friendGuide = friendGuide;
    }

    public int getBoardSkinId() {
        return boardSkinId;
    }

    public void setBoardSkinId(int boardSkinId) {
        this.boardSkinId = boardSkinId;
    }

    public int getAnimationId() {
        return animationId;
    }

    public void setAnimationId(int animationId) {
        this.animationId = animationId;
    }

    public int getEffectId() {
        return effectId;
    }

    public void setEffectId(int effectId) {
        this.effectId = effectId;
    }

    public int getZoneId() {
        return zoneId;
    }

    public void setZoneId(int zoneId) {
        this.zoneId = zoneId;
    }

    public int getWinTimes() {
        return winTimes;
    }

    public void setWinTimes(int winTimes) {
        this.winTimes = winTimes;
    }

    public int getWinTimesMax() {
        return winTimesMax;
    }

    public void setWinTimesMax(int winTimesMax) {
        this.winTimesMax = winTimesMax;
    }
}
